abstraction - involves extracting information that is essential while ignoring what is not relevant for the provision of a solution, only including what is necessary to solve that problem
decomposition - break a complex problem into smaller parts that can be further subdivided into even smaller parts until each part is easy to examine and understand, and a solution can be developed for it
structured english
pseudocode
flowchart
e.g.